import { computed, onUnmounted, ref } from "vue";
import dayjs from "dayjs";
// 封装倒计时逻辑函数
export const useCountDown = () => {
  // 接收定时器
  let timer = null;
  // 1. 响应式的数据
  const time = ref(0);
  //   格式化时间 xx分xx秒
  const formatTime = computed(() => {
    return dayjs.unix(time.value).format("mm分ss秒");
  });
  // 2. 开启倒计时的函数
  const start = (currentTime) => {
    // 开启倒计时的逻辑
    time.value = currentTime;
    // 核心逻辑的编写：每隔1s减1
    timer = setInterval(() => {
      time.value--;
    }, 1000);
  };
  //   组件销毁时清除定时器
  onUnmounted(() => {
    timer && clearInterval(timer);
  });
  return {
    formatTime,
    start,
  };
};
